Today's conventional cellular handset includes a cellular base band modem. The base band modem does not have built-in non-volatile memory, and has limited internal volatile memory (SRAM). For use of non-volatile memory, a cellular modem may be connected to a NOR flash memory, and also to additional external SDRAM.
When booting up, a cellular modem generally accesses the NOR flash memory to execute a code image that is stored therein. The cellular modem may access such code image directly, or by first copying it to its internal SRAM.
Many cellular modems also support a peripheral boot mode, through which they load a secondary code image from an external port, such as a UART port or a USB port, which is connected to an external device, such as a PC computer, which loads the secondary code image via a peripheral interface. The secondary code image is then used to re-program the NOR flash memory with new image code. Peripheral boot mode is typically used for program development and debugging via a PC.
High end cellular handsets also have NAND flash memory coupled thereto. In such case, the NAND flash memory is used for code and data storage. The NAND flash memory is connected via a dedicated NAND controller embedded in the cellular base band modem, or via an SD bus to an external SD controller that is connected to the NAND flash. For cellular handsets that have NAND flash memory, access to the NAND flash is performed via the cellular base band modem.
Cellular handsets may support connection to an external device host, such as a PC computer. In such case, the handset provides the host access to its internal NAND flash memory. Host access to NAND flash memory is generally performed over a USB connection, where the internal NAND memory is mapped as a mass storage drive on the host. The handset thus operates as a USB device, which is a slave, and the host operates as a USB host, which is a master.
Reference is now made to FIG. 1, which is a simplified block diagram of a prior art cellular handset 100. Handset 100 includes a cellular base band modem 110 with an external memory interface (EMIF) 120 for accessing a NAND flash storage 130 and an SDRAM storage 140. Correspondingly, EMIF 120 includes a NAND controller 150 and an SDRAM controller 160, respectively.
Many consumer electronic (CE) devices, such as MP3 song players and MP4 movie players, support connection to non-volatile storage elements, the most common storage element being SD memory and its variants including inter alia Mini SD and Micro SD. The CE device operates as a host, which is a master, and the SD memory operates as a slave.
It would thus be desirable to be able to connect CE devices that support SD connections with cellular modems, in order to enhance the CE devices with modem functionality. However, many challenges have to be overcome in doing so. Some of these challenges are:                How is the cellular modem booted up?        How does the CE device communicate with the cellular modem?        How is the cellular modem transition in and out of sleep mode carried out?        How are conflicts resolved when both the CE device and the cellular modem want to access SD memory at the same time?        